Computer based systems such as pen based systems and "electronic whiteboards" (e.g. the LiveBoard.TM. available from LiveWorks a division of Xerox Corporation), provide graphical user interfaces based on utilization of an input device such as a pen, stylus or a cursor control device. In such systems the "display" acts as both a means for showing data and as an input medium. Graphic objects may be "drawn" on the display via pen strokes created using the input device. The graphic objects may represent words, figures or anything that can be displayed. Various operations can then be performed on the graphic objects using an input technique known as gestures. Gestures are themselves merely pen strokes which are interpreted as instructions. Sometimes, such systems will have a draw mode of operation and a gesture mode of operation to distinguish when a pen stroke creates a persistent graphic object or when the pen stroke is treated as a gesture.
When interacting with a computer based system, stopping the thought process in order to wait for operations, e.g. to group or rearrange graphic objects, has a very detrimental effect. Such stoppages generally slow the creative processes. This is of particular impact to the synergy of the group interactions. Artificial delays may cause participants to "lose their train of thought" resulting in the possible loss of ideas. Thus, there is a general need in systems with graphical user interfaces for techniques that provide intuitive and quick manipulation of graphic objects.
Electronic whiteboard such as the LiveBoard are typically used in connection with a collaborative activity such as a meeting. When used, graphic objects representing lists, figures, etc. are drawn. A common operation on such a system is for the user to group graphic objects so that operations can be applied to the objects as a single grouped unit (e.g., moving the objects as a group to retain the spatial orientation amongst the members of the group). Such an operation may be performed by a selection gesture, such as encircling the desired graphic objects and performing a grouping operation. The user may later want to change the group, e.g. ungroup the objects to operate on them individually, add or subtract objects from the group, etc.. In a typical graphical user interface, such a grouping operation would be accomplished by a user selecting the group, applying an Ungroup command, reselecting the desired objects, and then applying the Group command on the desired graphic objects. When performed in a dynamic setting such as a meeting, such steps are awkward. Thus, in such systems there is a need for a technique by which groups of graphic objects can be easily altered.
U.S. Pat. No. 5,471,578 entitled "Apparatus and Method For Altering Enclosure Selections In A Gesture Based Input System", hereinafter the '578 patent, which is assigned to the same assignee of the present application describes a graphical editing system which allows a user to modify a selection gesture without having to redraw the entire gesture. The system defines a selection with an enclosure that is treated as an ephemeral graphic object that can be altered, i.e., reshaped by a set of subsequent gestures which allow the user to expand or reduce the size of the enclosure. These alteration gestures activate specified points or portions of the enclosure to control its shape. If a selection enclosure is drawn, it can be altered to include or exclude additional data by drawing a line segment that is detected by its location relative to the selection enclosure as an alteration gesture to reshape the existing enclosure to include the line segment.
Unfortunately, the invention of the '578 patent cannot be directly used to alter a group of graphic objects once a selection is made. This is because the selection enclosure is an ephemeral graphic object that only exists while a selection is in existence.
Another deficiency with operating with groups is that absent a selection, there is no visual indication that graphic objects are capable of being treated as a group. It would be desirable to provide a non intrusive and intuitive means by which to indicate a grouping of graphic objects.
Thus there is a need for means for interacting with groups of graphic objects that is both visually apparent and that is persistent.
Another desirable capability for such graphical user interfaces is to be able to provide persistent visual links between groups. So for example when working with figures such as flow charts or state diagrams, the figures will be modified or moved around. Making the links persistent will simplify updating and editing of the figures.
Yet another constraint of a graphical user interface is the limited display area. While some systems may be "scrollable", e.g. the aforementioned LiveBoard system, in order to obtain more "unwritten" areas, in some instances it is more desirable to merely "hide" or collapse certain information that has already been written. This hidden information may subsequently be recalled when desired. The object is to have more information space available for writing on. For example, when prioritizing a list, when one portion of the list is fixed it may be hidden, wherein more items on the list can then be displayed without having to scroll.
Various means for temporarily "hiding" information are known in the art. In text editing systems various lines of texts may be hidden and represented by a line of dashes or some other symbol. In systems with graphical user interfaces, icons may be used to represent "files", documents or applications. Other systems provide for "zooming" wherein levels of detail in an image can be modified. Flowcharting applications permit "off-page" designators which when selected cause the "off-page" portion of the flowchart to be displayed.
However, none of the foregoing approaches is particularly applicable to the requirements in a computer system having a freeform graphical user interface. Thus, it would be desirable to have a means by which displayed information in a graphics oriented system can be hidden or collapsed and which can be subsequently expanded to reveal all the information which it represents.